package com.zg.generator.service;

import com.zg.common.core.dao.generator.GenColumn;
import com.zg.common.core.dao.generator.GenTmpl;
import com.zg.common.core.vo.ColumnVo;

import java.util.List;

/**
 * @author Zxb
 */
public interface EngineService {
	/**
	 * 获取字段列表
	 * @param tableName
	 * @return
	 */
	List<GenColumn> findGenColumnByTable(String tableName);

	/**
	 * 获取字段
	 * @param tableName
	 * @param columnName
	 * @return
	 */
	GenColumn findGenColumnByTable(String tableName, String columnName);

	/**
	 * 生成代码
	 * @param schema
	 * @param tableName
	 * @param tmplList
	 */
	void generateCode(String schema, String tableName, List<GenTmpl> tmplList);

	/**
	 * 是否公共字段
	 * @param name
	 * @return
	 */
	Boolean isPubColumn(String name);
	/**
	 * 初始化配置
	 * @param schema
	 * @param tableName
	 * @return
	 */
	List<GenColumn> initTable(String schema, String tableName, List<ColumnVo> colList);
	/**
	 * 查询配置
	 * @param schema
	 * @param tableName
	 * @return
	 */
	List<GenColumn> listColumn(String schema, String tableName);
}
